Skip to content

feat: complete GeneralUpdate Skill CodeGen v2 — 7 skills, BM25 search, 336 codegen combos, CLI#15

Merged
JusterZhu merged 3 commits into
mainfrom
feat/skill-codegen-v2-complete
Jun 16, 2026
Merged

feat: complete GeneralUpdate Skill CodeGen v2 — 7 skills, BM25 search, 336 codegen combos, CLI#15
JusterZhu merged 3 commits into
mainfrom
feat/skill-codegen-v2-complete

Conversation

@JusterZhu

Copy link
Copy Markdown
Contributor

Summary

Complete upgrade from documentation-driven reference into automated development toolkit. Rebased onto latest main (v10.5.0-beta.4 API).

What's Included

🚀 Automation Tools

  • Code generator — 336 combinations (6 strategies × 7 frameworks × 2 Bowl × 4 scenes)
  • BM25 search engine — 51 known issues, natural language query, 15 tests
  • CLI — 5 commands, 10 AI platform configs, multi-skill install
  • Sync tool_sync_all.py with --apply/--verify modes

📚 Developer Experience

  • Root SKILL.md: developer roadmap, 5-question decision tree, 8 anti-patterns
  • Every sub-skill: narrative workflow, requirements template, checklist, anti-patterns
  • CLAUDE.md: AI agent development guide

🔬 Extension Skills

  • generalupdate-migration: v9.x → v10 / dev-branch → stable migration
  • generalupdate-security-audit: 14-point audit matrix

🧪 CI/CD

  • CI: Python → .NET → TypeScript validation
  • Release: changelog → GitHub Release publish

🐛 Bugs Fixed

  • Dispatcher ambiguity (MVVM), WinForms this scope, MAUI using, CLI 1-skill install, uninstall scope, placeholder leakage

Stats

Metric Value
Files changed 123
Python scripts 9
C# templates 19
SKILL.md files 8
CLI commands 5
AI platform configs 10
Known issues 51 entries
Codegen combos 336
Tests (all passing) 15
Readiness score 32/32

Co-Authored-By: Claude noreply@anthropic.com

JusterZhu and others added 2 commits June 16, 2026 13:03
This PR delivers a comprehensive upgrade transforming the skill suite from
a documentation-driven reference into an automated development toolkit.

- Parameterized code generator (336 combinations: 6 strategies x 7 frameworks x 2 Bowl x 4 scenes)
- BM25 search engine with 51 known issues database (8C + 11H + 20M + 12L)
- CLI skeleton: gskill init/uninstall/generate/versions/update (5 commands)
- Multi-platform support: 10 AI platform configs (Claude, Cursor, Windsurf, etc.)
- Single-command sync: _sync_all.py with --apply/--verify modes

- Root SKILL.md: developer roadmap, 5-question decision tree, anti-patterns
- All 5 sub-skill SKILL.md: narrative workflows, pre-delivery checklists, anti-pattern tables
- CLAUDE.md: AI agent development guide
- Architecture docs: src -> CLI sync rules

- Step-by-step narrative workflows (Step 1 -> Step 2 -> Step 3)
- User requirements extraction templates in every SKILL.md
- Pre-Delivery Checklists + Anti-Pattern lists for every sub-skill
- Structured output format (decision reasons + warnings + checklist)

- generalupdate-migration: v9.x -> v10 / dev-branch -> stable migration path
- generalupdate-security-audit: 14-point security audit matrix

- CI workflow: Python search test, codegen validation, .NET build, TypeScript check
- Release workflow: full validate -> changelog -> GitHub Release

- Fixed Dispatcher ambiguity in MVVM listener templates
- Fixed WinForms 'this' scope in event listeners
- Fixed MAUI missing using declarations
- Fixed CLI init only installed 1 skill (now installs all 7)
- Fixed CLI uninstall targeted scope
- Fixed project-scaffold {{PLACEHOLDER}} leakage

Co-Authored-By: Claude <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request turns the GeneralUpdate documentation set into a distributable “skill suite” with automated code generation, troubleshooting search, and a multi-platform installer CLI, plus release automation and sync tooling.

Changes:

  • Adds a Node/TypeScript CLI (gskill) to install/update/uninstall the skill suite across multiple AI assistant folder layouts.
  • Introduces a BM25-based troubleshooting search engine (Python) with CSV-backed issue/strategy databases and tests.
  • Adds/updates skill content, templates, scaffolds, and release/sync automation to package everything consistently.

Reviewed changes

Copilot reviewed 120 out of 121 changed files in this pull request and generated 19 comments.

Show a summary per file
File Description
skill.json Skill suite metadata for installers/registries
RULES.md Centralized GeneralUpdate API/rules reference
docs/architecture-data-flow.md Documents source-of-truth + sync model
cli/tsconfig.json TypeScript build configuration for CLI
cli/package.json CLI package definition and deps
cli/src/index.ts CLI entrypoint wiring (commands)
cli/src/types/index.ts Shared CLI types and AI/platform enums
cli/src/utils/template.ts Installs skill assets into target dirs
cli/src/utils/logger.ts CLI logging helpers
cli/src/utils/github.ts GitHub releases fetch/download helpers
cli/src/utils/extract.ts Zip extraction + folder copy utilities
cli/src/utils/detect.ts Detects installed AI assistant dirs
cli/src/commands/init.ts Install command implementation
cli/src/commands/uninstall.ts Uninstall command implementation
cli/src/commands/generate.ts Python codegen invocation wrapper
cli/src/commands/versions.ts Lists versions from GitHub Releases
cli/src/commands/update.ts Updates installed skill suite
cli/assets/templates/base/skill-content.md Legacy single-skill content template
cli/assets/templates/platforms/claude.json Platform install config (Claude)
cli/assets/templates/platforms/cursor.json Platform install config (Cursor)
cli/assets/templates/platforms/windsurf.json Platform install config (Windsurf)
cli/assets/templates/platforms/copilot.json Platform install config (Copilot)
cli/assets/templates/platforms/kiro.json Platform install config (Kiro)
cli/assets/templates/platforms/roocode.json Platform install config (RooCode)
cli/assets/templates/platforms/codex.json Platform install config (Codex)
cli/assets/templates/platforms/gemini.json Platform install config (Gemini)
cli/assets/templates/platforms/continue.json Platform install config (Continue)
cli/assets/templates/platforms/agent.json Platform install config (Generic agent)
cli/assets/skills/generalupdate-init/templates/MinimalIntegration.cs Minimal integration template (assets)
cli/assets/skills/generalupdate-init/templates/FullIntegration.cs Full integration template (assets)
cli/assets/skills/generalupdate-init/templates/generalupdate.manifest.json Manifest template (assets)
cli/assets/skills/generalupdate-init/reference.md Init skill reference docs (assets)
cli/assets/skills/generalupdate-init/project-scaffold/ClientProgram.cs Client scaffold program (assets)
cli/assets/skills/generalupdate-init/project-scaffold/UpgradeProgram.cs Upgrade scaffold program (assets)
cli/assets/skills/generalupdate-init/project-scaffold/ClientApp.csproj Client scaffold project file (assets)
cli/assets/skills/generalupdate-init/project-scaffold/UpgradeApp.csproj Upgrade scaffold project file (assets)
cli/assets/skills/generalupdate-ui/templates/DownloadViewModels.cs MVVM stateful download VM template
cli/assets/skills/generalupdate-ui/templates/WpfDevelopersViewModel.cs WPFDevelopers VM template
cli/assets/skills/generalupdate-ui/templates/WPFDevelopersStyle.xaml WPFDevelopers window template
cli/assets/skills/generalupdate-ui/templates/LayUIStyle.xaml LayUI WPF window template
cli/assets/skills/generalupdate-ui/templates/SemiUrsaClientView.axaml Avalonia SemiUrsa client UI template
cli/assets/skills/generalupdate-ui/templates/SemiUrsaUpgradeView.axaml Avalonia SemiUrsa upgrade UI template
cli/assets/skills/generalupdate-ui/templates/MauiUpdatePage.xaml MAUI update page template
cli/assets/skills/generalupdate-ui/templates/MauiUpdatePage.xaml.cs MAUI VM template
cli/assets/skills/generalupdate-strategy/examples/ClientServerStrategy.cs Client-server strategy example
cli/assets/skills/generalupdate-strategy/examples/OssStrategy.cs OSS strategy example
cli/assets/skills/generalupdate-strategy/examples/SilentStrategy.cs Silent strategy example
cli/assets/skills/generalupdate-strategy/examples/DifferentialStrategy.cs Differential strategy example
cli/assets/skills/generalupdate-strategy/examples/CrossVersionStrategy.cs CVP strategy example
cli/assets/skills/generalupdate-strategy/examples/PushStrategy.cs SignalR push strategy example
cli/assets/skills/generalupdate-troubleshoot/SKILL.md Troubleshooting skill content (assets)
cli/assets/skills/generalupdate-troubleshoot/scripts/core.py BM25 core implementation (assets)
cli/assets/skills/generalupdate-troubleshoot/scripts/search.py BM25 CLI wrapper (assets)
cli/assets/skills/generalupdate-troubleshoot/data/strategies.csv Strategy dataset (assets)
cli/assets/skills/generalupdate-migration/SKILL.md Migration skill content (assets)
cli/assets/skills/generalupdate-security-audit/SKILL.md Security audit skill content (assets)
cli/assets/skills/generalupdate-advanced/templates/NamedPipeIPC.cs IPC reference template (assets)
cli/assets/skills/generalupdate-advanced/templates/CustomStrategy.cs Custom strategy reference (assets)
cli/assets/skills/generalupdate-advanced/templates/CustomHooks.cs Hooks reference (assets)
cli/assets/skills/generalupdate-advanced/templates/BowlIntegration.cs Bowl reference (assets)
cli/assets/skills/generalupdate-advanced/reference.md Advanced reference docs (assets)
cli/assets/scripts/core.py BM25 core (bundled scripts)
cli/assets/scripts/search.py BM25 search entrypoint (bundled scripts)
cli/assets/scripts/tests/test_search.py BM25 unit tests (bundled scripts)
cli/assets/scripts/generate/templates/Bootstrap.cs.template Codegen Bootstrap template (assets)
cli/assets/scripts/generate/templates/manifest.json.template Codegen manifest template (assets)
cli/assets/scripts/generate/templates/UpgradeProgram.cs.template Codegen Upgrade entry template (assets)
cli/assets/scripts/generate/templates/listeners_console.cs.template Codegen listeners (console)
cli/assets/scripts/generate/templates/listeners_mvvm.cs.template Codegen listeners (MVVM)
cli/assets/scripts/generate/templates/listeners_winforms.cs.template Codegen listeners (WinForms)
cli/assets/scripts/generate/templates/listeners_maui.cs.template Codegen listeners (MAUI)
cli/assets/scripts/generate/templates/DeploymentChecklist.md.template Codegen deployment checklist template
cli/assets/scripts/generate/templates/IssuesWarning.md.template Codegen known-issues warning template
cli/assets/scripts/generate/templates/bowl_notice.cs.template Codegen Bowl notice template
cli/assets/data/strategies.csv Strategy dataset (top-level assets)
CLAUDE.md Repository guidance for AI agents
.gitignore Ignores build artifacts and caches
.github/workflows/release.yml Release workflow for CLI + GitHub release
.claude/skills/generalupdate-init/SKILL.md Init skill content (source-of-truth)
.claude/skills/generalupdate-init/templates/MinimalIntegration.cs Minimal integration template (source)
.claude/skills/generalupdate-init/templates/FullIntegration.cs Full integration template (source)
.claude/skills/generalupdate-init/templates/generalupdate.manifest.json Manifest template (source)
.claude/skills/generalupdate-init/project-scaffold/ClientProgram.cs Client scaffold (source)
.claude/skills/generalupdate-ui/SKILL.md UI skill content (source-of-truth)
.claude/skills/generalupdate-strategy/SKILL.md Strategy skill content (source-of-truth)
.claude/skills/generalupdate-advanced/SKILL.md Advanced skill content (source-of-truth)
.claude/skills/generalupdate-troubleshoot/SKILL.md Troubleshoot skill content (source)
.claude/skills/generalupdate-troubleshoot/scripts/core.py BM25 core (source)
.claude/skills/generalupdate-troubleshoot/scripts/search.py BM25 search (source)
.claude/skills/generalupdate-troubleshoot/data/strategies.csv Strategies dataset (source)
.claude/skills/generalupdate-migration/SKILL.md Migration skill content (source)
.claude/skills/generalupdate-security-audit/SKILL.md Security audit skill content (source)
.claude/scripts/_sync_all.py Sync tool from .claude/ to cli/assets/
.claude/scripts/generate/templates/Bootstrap.cs.template Codegen Bootstrap template (source)
.claude/scripts/generate/templates/manifest.json.template Codegen manifest template (source)
.claude/scripts/generate/templates/UpgradeProgram.cs.template Codegen Upgrade entry template (source)
.claude/scripts/generate/templates/listeners_console.cs.template Codegen listeners (console, source)
.claude/scripts/generate/templates/listeners_mvvm.cs.template Codegen listeners (MVVM, source)
.claude/scripts/generate/templates/listeners_winforms.cs.template Codegen listeners (WinForms, source)
.claude/scripts/generate/templates/listeners_maui.cs.template Codegen listeners (MAUI, source)
.claude/scripts/generate/templates/DeploymentChecklist.md.template Deployment checklist template (source)
.claude/scripts/generate/templates/IssuesWarning.md.template Known-issues warning template (source)
.claude/scripts/generate/templates/bowl_notice.cs.template Bowl notice template (source)
.claude-plugin/plugin.json Claude plugin descriptor
.claude-plugin/marketplace.json Claude marketplace descriptor

Comment thread skill.json Outdated
"name": "generalupdate-skill",
"displayName": "GeneralUpdate Skill CodeGen",
"description": "AI-powered skill suite for integrating GeneralUpdate (.NET auto-update) into any .NET application. Generates dual-project scaffolding (Client+Upgrade), full-state update UI (6 frameworks), 6 update strategies (Client-Server/OSS/Silent/Differential/CVP/Push), advanced extension points (Bowl crash daemon, IPC replacement, AOT), and deep troubleshooting (50+ known issues). All templates target NuGet v10.4.6 stable API.",
"version": "0.0.1-bate.1",
Comment thread skill.json Outdated
{
"name": "generalupdate-skill",
"displayName": "GeneralUpdate Skill CodeGen",
"description": "AI-powered skill suite for integrating GeneralUpdate (.NET auto-update) into any .NET application. Generates dual-project scaffolding (Client+Upgrade), full-state update UI (6 frameworks), 6 update strategies (Client-Server/OSS/Silent/Differential/CVP/Push), advanced extension points (Bowl crash daemon, IPC replacement, AOT), and deep troubleshooting (50+ known issues). All templates target NuGet v10.4.6 stable API.",
Comment thread .claude-plugin/plugin.json Outdated
{
"name": "generalupdate-skill",
"description": "Complete .NET auto-update skill suite for GeneralUpdate. 7 skills covering: Bootstrap scaffolding, update UI (6 frameworks), 6 strategies (Client-Server/OSS/Silent/Differential/CVP/Push), advanced extension points (Bowl, IPC, AOT), 50+ known issues diagnosis with BM25 search engine, version migration, and security audit. All templates target NuGet v10.4.6 stable.",
"version": "0.0.1-bate.1",
Comment thread .claude-plugin/marketplace.json Outdated
Comment thread .claude-plugin/marketplace.json Outdated
"name": "generalupdate-skill",
"source": "./",
"description": "Complete GeneralUpdate (.NET auto-update) integration skill suite. Generates dual-project scaffolding, full-state update UI (6 frameworks), 6 update strategies decision tree (Client-Server/OSS/Silent/Differential/CVP/Push), advanced extension points (Bowl crash daemon, IPC replacement, AOT), BM25-powered troubleshooting search (50+ known issues), v9.x→v10 migration guide, and 14-point security audit matrix. All templates target NuGet v10.4.6 stable API.",
"version": "0.0.1-bate.1",
Comment on lines +99 to +103
status = sync_file(src, dst, args.apply, dry_run)
statuses.append((desc, status))
if status.startswith("⚠️"):
all_ok = False

Comment thread .claude/scripts/_sync_all.py Outdated
Comment on lines +108 to +114
if args.verify and not all_ok:
print("\n❌ Verify FAILED: some sources are missing")
sys.exit(1)

if args.verify:
print("\n✅ Verify PASSED: all sources are in sync")
sys.exit(0)
Comment thread cli/assets/skills/generalupdate-init/project-scaffold/UpgradeApp.csproj Outdated
Comment thread cli/assets/skills/generalupdate-init/project-scaffold/ClientApp.csproj Outdated
Comment thread .github/workflows/release.yml Outdated
Comment on lines +54 to +60
run: |
$scaffoldDir = ".claude/skills/generalupdate-init/project-scaffold"
$testDir = "C:\tmp\release-verify-scaffold"
New-Item -ItemType Directory -Path $testDir -Force | Out-Null
Copy-Item "$scaffoldDir\*" $testDir
dotnet build "$testDir\ClientApp.csproj" 2>&1
if ($LASTEXITCODE -ne 0) { throw "Scaffold build failed" }
- fix: 'bate' → 'beta' typo in skill.json, plugin.json, marketplace.json
- fix: skill.json version desc v10.4.6 → v10.5.0-beta.4
- fix: template.ts missing readFile import, platform path hardcoding
- fix: init.ts --ai all now routes to generateAllPlatformFiles
- fix: generate.ts command injection (execSync→spawnSync+argv)
- fix: extract.ts path injection (exec→execFile)
- fix: _sync_all.py filecmp shallow=False + --verify detects NEEDS SYNC
- fix: release.yml Windows paths on Linux runner
- fix: sync CLI assets after source changes

Co-Authored-By: Claude <noreply@anthropic.com

@JusterZhu JusterZhu left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All 19 Copilot review comments have been resolved in commit cef16d6:

  1. ✅ 'bate' → 'beta' typo in skill.json, plugin.json, marketplace.json
  2. ✅ skill.json version description updated to v10.5.0-beta.4
  3. ✅ template.ts: added readFile import, platform-specific subdirs (Copilot→.github/prompts/), fixed hardcoded paths
  4. ✅ init.ts: --ai all now routes to generateAllPlatformFiles
  5. ✅ generate.ts: replaced execSync+string concat with spawnSync+argument array (injection-safe)
  6. ✅ extract.ts: replaced exec with execFile for both Powershell Expand-Archive and fallback copies
  7. ✅ _sync_all.py: filecmp.cmp now uses shallow=False; --verify now exits 1 on NEEDS SYNC
  8. ✅ release.yml: removed Windows-specific paths, uses
  9. ✅ CLI assets re-synced after source changes

All 15 search tests still pass. Sync verify passes.

@JusterZhu

Copy link
Copy Markdown
Contributor Author

All 19 Copilot review comments have been resolved in commit cef16d6:

  1. ✅ 'bate' → 'beta' typo in skill.json, plugin.json, marketplace.json
  2. ✅ skill.json version description updated to v10.5.0-beta.4
  3. ✅ template.ts: added readFile import, platform-specific subdirs (Copilot→.github/prompts/), fixed hardcoded paths
  4. ✅ init.ts: --ai all now routes to generateAllPlatformFiles
  5. ✅ generate.ts: replaced execSync+string concat with spawnSync+argument array (injection-safe)
  6. ✅ extract.ts: replaced exec with execFile for both Powershell Expand-Archive and fallback copies
  7. ✅ _sync_all.py: filecmp.cmp now uses shallow=False; --verify now exits 1 on NEEDS SYNC
  8. ✅ release.yml: removed Windows-specific paths, uses $RUNNER_TEMP
  9. ✅ CLI assets re-synced after source changes

All 15 search tests still pass. Sync verify passes.

@JusterZhu JusterZhu merged commit 99f12f6 into main Jun 16, 2026
@JusterZhu JusterZhu deleted the feat/skill-codegen-v2-complete branch June 16, 2026 05:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: complete GeneralUpdate Skill CodeGen v2 — 78 new files, 336 codegen combinations, BM25 search, 7 skills

2 participants